#pragma once

using namespace std;

#include <iostream>
#include "PKB.h"

PKB::PKB() {
	varTable = new VarTable();
	stmtTable = new StmtTable();
	procTable = new ProcTable();
	result = new Result();
	follows = new Follows(varTable,stmtTable,result);
	ast = new AST(stmtTable,follows);
	modifies = new Modifies(varTable,stmtTable,procTable); 
	uses = new Uses(varTable,stmtTable,procTable);
	parent = new Parent(varTable,stmtTable);
	calls = new Calls(varTable,stmtTable,procTable);
	cfg = new CFG(stmtTable);
	affects = new Affects(varTable,stmtTable,modifies,uses,cfg);
}

